package com.thb.pay.service;

import com.thb.pay.core.utils.PageResult;
import com.thb.pay.db.service.IBaseService;
import com.thb.pay.entity.AgentInfo;
import com.thb.pay.vo.req.AgentInfoPageReq;
import com.thb.pay.vo.req.AgentInfoReq;
import com.thb.pay.vo.resp.AgentInfoVo;

/**
 * <p>
 * 代理商-信息表 服务类
 * </p>
 *
 * @author lucky
 * @since 2019-07-21
 */
public interface AgentInfoService extends IBaseService<AgentInfo> {

    /**
     * @param pageReq
     * @Description 分页获取代理商信息
     * @Author lucky
     * @data 2019/7/26 0:07
     */
    PageResult<AgentInfoVo> findPage(AgentInfoPageReq pageReq);

    /**
     * @param agentInfo 代理商信息
     * @Description 添加代理商信息
     * @Author lucky
     * @data 2019/7/27 11:51
     */
    void add(AgentInfoReq agentInfo);

    /**
     * @param loginName 登入名 【邮箱、账号名称、手机号】
     * @Description 获取登入信息
     * @Author lucky
     * @data 2019/7/27 12:23
     */
    AgentInfoVo getByLoginName(String loginName);

    /**
     * @param agentId 代理商ID
     * @Description 获取代理商信息
     * @Author lucky
     * @data 2019/7/27 12:24
     */
    AgentInfoVo getByAgentId(Long agentId);

    /**
     * @param userName 登入名称
     * @Description 获取代理商信息
     * @Author lucky
     * @data 2019/7/27 12:25
     */
    AgentInfoVo getByUserName(String userName);

    /**
     * @param mobile 手机号
     * @Description 获取代理商信息
     * @Author lucky
     * @data 2019/7/27 12:25
     */
    AgentInfoVo getByMobile(Long mobile);

    /**
     * @param email 邮箱
     * @Description 获取代理商信息
     * @Author lucky
     * @data 2019/7/27 12:25
     */
    AgentInfoVo getByEmail(String email);
}
